// 心脑血管疾病评估
// eslint-disable-next-line complexity
export const checkRules = function (data) {
  let isCheckPass = true;
  const { value, rules, type } = data;
  // 必填校验
  if (rules.require && !value && value !== 0) {
    // uni.showToast({ title: `请录入${name}`, icon: 'none' });
    return false;
  }
  // 多选的必填校验
  if (rules.require && type === 'checkbox' && value.length < 1) {
    // uni.showToast({ title: `请录入${name}`, icon: 'none' });
    return false;
  }
  // 最大值校验
  if (rules.max && value > rules.max) {
    // uni.showToast({ title: `${name}数据异常，请重新录入`, icon: 'none' });
    return false;
  }
  // 最小值校验
  if (rules.min && value < rules.min) {
    // uni.showToast({ title: `${name}数据异常，请重新录入`, icon: 'none' });
    return false;
  }
  // 保留2位小数校验
  if (rules.decimal && rules.decimal === 2) {
    const decimalCheck = value && !/^\d+(\.\d{1,2})?$/.test(value);
    if (decimalCheck) {
      // uni.showToast({ title: `${name}数据异常，请重新录入`, icon: 'none' });
    }
    return !decimalCheck;
  }
  // 保留1位小数校验
  if (rules.decimal && rules.decimal === 3) {
    const decimalCheck = value && !/^\d+(\.\d{1,3})?$/.test(value);
    if (decimalCheck) {
      // uni.showToast({ title: `${name}数据异常，请重新录入`, icon: 'none' });
    }
    return !decimalCheck;
  }
  if (rules.decimal === 0) {
    const decimalCheck = value && !/(^[1-9]\d*$)/.test(value);
    if (decimalCheck) {
      // uni.showToast({ title: `${name}数据异常，请重新录入`, icon: 'none' });
    }
    return !decimalCheck;
  }
  return isCheckPass;
};
